یکی از مهارتهای پایه در لینوکس، ذخیره خروجی یک دستور در یک فایل است. این کار با استفاده از عملگرهای انتقال (Redirection Operators) انجام میشود.
> → بازنویسی فایل (محتوای قبلی پاک میشود)>> → افزودن به انتهای فایل (محتوای قبلی حفظ میشود)2> → ذخیره خطاها در فایل
توضیح: خروجی ifconfig را در فایل network_info.txt ذخیره میکند.
اگر فایل وجود نداشته باشد، ساخته میشود. اگر وجود داشته باشد، محتوای قبلی پاک میشود.
توضیح: با cat محتوای فایل ذخیره شده را نمایش میدهیم.
❌ اشتباه: بین دستور و > فاصله نذاشتن
✅ درست:
اگرچه در بسیاری از موارد کار میکند، اما برای خوانایی بهتر و جلوگیری از خطا، فاصله بگذارید.
⚠️ مشکل: اگر فایل قبلاً وجود داشته باشد، > آن را پاک میکند.
✅ راهحل: از >> برای افزودن به انتهای فایل استفاده کنید.
⚠️ مشکل: اگر دستور خطا دهد، خطا در فایل ذخیره نمیشود.
✅ راهحل: از 2> برای ذخیره خطاها در فایل استفاده کنید.
توضیح: با &> هم خروجی و هم خطاها در یک فایل ذخیره میشوند.
توضیح: 2>&1 یعنی خطاها را به همان جایی که خروجی میرود (فایل output.txt) بفرست.
ذخیره خروجی و خطاهای ifconfig در network.txt.
فقط خطوط حاوی inet را با grep فیلتر کرده و در ip_info.txt ذخیره میکند.
خروجی ifconfig را به انتهای فایل all_network.txt اضافه میکند.
| عملگر | کاربرد | مثال |
|---|---|---|
> |
بازنویسی خروجی در فایل | ifconfig > net.txt |
>> |
افزودن خروجی به انتهای فایل | ifconfig >> net.txt |
2> |
ذخیره خطاها در فایل | command 2> error.txt |
2>> |
افزودن خطاها به انتهای فایل | command 2>> error.txt |
&> |
ذخیره خروجی و خطا در یک فایل | command &> all.txt |
> file 2>&1 |
خروجی و خطا به یک فایل (روش استاندارد) | command > all.txt 2>&1 |
ifconfig را در فایل network.txt ذخیره کنید.ifconfig را به انتهای همان فایل اضافه کنید.grep فقط خطوط حاوی inet را فیلتر کرده و در ip.txt ذخیره کنید.error.txt ذخیره کنید.